查看原文
其他

这些烂代码是哪个蠢蛋写的,被嫌弃了?

点上方蓝色小字,关注,记得星标

关注公众号后台回复paymall获取实战项目资料+视频

作者:废物大师兄
链接:cnblogs.com/cjsblog/p/10735800.html
今天推荐三个插件,它们都是代码质量检测的神器。可以扫描检测出你项目中不符合规范的代码,他们分别是 SonarLint、SonarQube、Alibaba代码规约插件。
1.  SonarLint
SonarLint是一个代码质量检测插件,可以帮助我们检测出代码中的坏味道。

下载与安装

在需要检测的单个文件或者单个项目上右键 -> Analyze -> Analyze with SonarLint
或者选中文件或目录,点击菜单栏 Analyze -> Analyze with SonarLint

我们还可以禁用某些规则

如果需要同步自定义的规则时,可以绑定到 SonarQube

查看检测的结果

对于代码中的警告我们不能视而不见

有了代码质量检测工具以后,在一定程度上可以保证代码的质量,对于每一个问题,SonarLint 都给出了示例,还有相应的解决方案,教我们怎么修改,极大的方便了我们的开发。
比如,对于日期类型尽量用 LocalDate、LocalTime、LocalDateTime,还有重复代码、潜在的空指针异常、循环嵌套等等问题。
有了代码规范与质量检测工具以后,很多东西就可以量化了,比如bug率、代码重复率等,还可以自定义各种指标,方便管理人员查看。
为此,我们需要一个平台来记录每次检测分析的结果,这样就可以进行分析和统计,并且可以直观的看到这一切
于是,SonarQube 闪亮登场!
2.  SonarQube
SonarQube 是一个开源的代码质量管理平台



解压&本地启动
具体开始参考文档:
https://docs.sonarqube.org/latest/setup/get-started-2-minutes/
下载下来这个工具,进行解压执行:
unzip sonarqube-7.7.zip
cd sonarqube-7.7
bin/[OS]/sonar.sh consol

启动成功后,访问 http://localhost:9000  用管理员账号(admin/admin)登录

接下来,为了把检测的结果传到服务器,我们需要配置一个Scanner,具体参考文档:
https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven
这里我在项目中添加 sonar-maven-plugin 插件
<build>
    <plugins>
        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.6.0.1398</version>
        </plugin>
    </plugins>
</build>
命令行执行:mvn clean compile sonar:sonar
成功后,可以在控制台中看到这样的输出:

再次刷新 http://localhost:9000/ 会看到跟刚才不一样了

以上只是本地演示,在正式环境中这些数据当然要保存到数据库中,具体安装就不演示了,下面是文档:
https://docs.sonarqube.org/latest/setup/install-server/
3.  Alibaba代码规约插件
阿里代码规范,相信大家都不陌生。IDEA 中安装这个插件即可,同时如果需要更多优质 IDEA 插件推荐可以关注公众号「Java后端」搜索「IDEA」就可以找到相关的插件推荐文章了。
这是代码规约插件安装方式:

安装了此插件,就可以进行扫描,检测出你写的 "坏"代码。

看看效果:

4.  文档

https://www.sonarqube.org/
https://www.sonarsource.com/plans-and-pricing/community/
https://www.sonarlint.org/
https://docs.sonarqube.org/latest/setup/overview/
https://docs.sonarqube.org/latest/
https://github.com/SonarSource/sonar-scanning-examples/tree/master/sonarqube-scanner-maven
https://github.com/SonarSource

说句题外话,springboot全家桶技术交流群可以加我微信,但是坑位有限哦,由于忙于工作,有时不能及时回复大家,请多包涵。



有热门推荐👇

Netflix创始人:我不要求996,照样市值万亿!

Google和Facebook为什么不用Docker?

今天,我要一举拿下Nginx!

真尼玛秀:「跳过更新」竟然得付费!Docker 新功能引争议!

SQL语句中 left join 后用 on 还是 where,区别大了!

堪称神级的Spring Boot手册,从基础入门到实战进阶

Spring官宣,干掉原生JVM!

学习+使用Linux的最佳姿势,收录近600条Linux系统命令

牛逼哄哄的 BitMap,到底牛逼在哪?

又1家互联网公司倒闭了,失业来得太突然…

吊炸天的Kubernetes微服务图形化管理工具:Kuboard,必须推荐给你!

点击阅读原文,前往学习SpringCloud实战项目

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存